package com.vhall.component.controller.reward.facade;

import com.vhall.component.entity.reward.vo.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * @author lsl
 * @since 2021/7/6 18:00
 */
@FeignClient(value = "RewardFacade", path = "/v4/reward")
public interface RewardFacade {

    /**
     * 进行打赏
     *
     * @param reqVO
     * @return
     */
    @PostMapping("/give")
    RewardGiveRspVO give(@Validated RewardGiveReqVO reqVO);

    /**
     * 获取打赏排行信息
     *
     * @param reqVO
     * @return
     */
    @PostMapping("/rewarder-rank")
    RewardRankRspVO rewarderRank(@Validated RewardRankReqVO reqVO);

    /**
     * 获取打赏排行榜
     *
     * @param reqVO
     * @return
     */
    @PostMapping("/list-rank")
    RewardRankListRspVO rewardListRank(@Validated RewardListRankReqVO reqVO);

    /**
     * 获取打赏记录
     *
     * @param reqVO
     * @return
     */
    @PostMapping("/records-get")
    RewardRecordsRspVO rewardRecordsList(@Validated RewardRecordsListReqVO reqVO);
}
